package net.aiion.weave.impl.bytecode;

import net.aiion.weave.spi.bytecode.Bytecode;
import net.aiion.weave.spi.bytecode.BytecodeEventFactory;
import net.aiion.weave.spi.bytecode.BytecodeSinkFactory;
import net.aiion.weave.spi.bytecode.BytecodeSourceFactory;
import net.aiion.weave.spi.bytecode.BytecodeStore;

public class BytecodeImpl extends Bytecode {
    public BytecodeImpl() {
    }

    @Override
    protected BytecodeSourceFactory createSourceFactory() {
        return new BytecodeSourceFactoryImpl();
    }

    @Override
    protected BytecodeSinkFactory createSinkFactory() {
        return new BytecodeSinkFactoryImpl();
    }

    @Override
    protected BytecodeEventFactory createEventFactory() {
        return new BytecodeEventFactoryImpl();
    }

    @Override
    protected BytecodeStore createStore() {
        return new BytecodeStoreImpl();
    }
}
